class Solution 
{
public:
    int longestOnes(vector<int>& nums, int k) 
    {
        //0和1都可以进窗口 只不过0进窗口要对k--出窗口的如果是0k++
        int n=nums.size();
        int ret=0;
        int count=0;
        for(int left=0,right=0;right<n;)
        {
            //进窗口
           if(nums[right]==1) right++;
           else
           {
            right++;
            count++;
           }
           //判断
           while(count>k)
           {
                if(nums[left]==0)count--;
                left++;
           } 
           ret=max(ret,right-left);
        }
        return ret;
    }
};